import axios from "axios";//导入axios对象
import store from '../store/index'; //导入vuex对象
import router from '../router/index'; //导入路由对象
//创建axios的对象
const Server = axios.create({
    baseURL: "",//请求接口的基地址
    timeout: 5000,//超时时间
})

//设置请求拦截器
Server.interceptors.request.use((config) => {
    // console.log(config)
    config.headers.token = store.state.token;
    store.commit('setLoading', true)
    return config;
}, (error) => {
    return Promise.reject(error);
})

//设置响应拦截器
Server.interceptors.response.use((response) => {

    if (response.status == 200) {
        setTimeout(() => {
            store.commit('setLoading', false)
        }, 1500)
        return response.data;
    }
    return response;
}, (error) => {
    // 当错误信息提示20000时，直接清空token值
    if (error.response.data.msg =="非法token,请先登录" ) {
        store.commit('layout'); //退出登录
        // 跳转到登录页面
        router.push('/login')
    }
    store.commit('setLoading', false)

    return Promise.reject(error);
});

//导出Serve模块对象
export default Server;